1. Field of the Invention
The present invention generally relates to the area of distributed systems over data networks. Particularly, the present invention relates to techniques for providing infrastructures to utilize distributed resources over data networks. More particularly, the present invention relates to a method and system for providing a model that centrically models distributed resources across one or more networks in accordance with a desired task, establishing direct communication sessions between two network nodes, managing applications depending on multiple resources, and a method, a process, and a system for providing a synchronized environment for producing software products, wherein the synchronized environment is based upon a logic model of a collection of different stages or phases in deploying the software products.
2. Description of the Related Art
IT (information technology) is a term that encompasses all forms of technology used to create, store, exchange, and use information in its various forms (e.g., business data, voice conversations, still images, motion pictures, multimedia presentations, and other forms). IT is a strategic resource to a company. Dynamic use of IT can dramatically reduce costs and thereby improve a company's operating margin, accelerate the time to market for new products and services a business may offer, increase response times for internal and external customers, improve system reliability, up time, and availability.
There are tremendous pressures in today's IT environment. The pressures come from the convergence of at least three major forces: the rapid transition toward distributed applications, a massive surge in new deployments, and the current confined economic climate. “Do more with less” becomes the mantra of the IT operations. On top of that, IT operations are increasingly required to show how they can efficiently support critical business functions and processes without impacting other functions within a business.
A fundamental shift is underway in IT operations as corporations move increasingly away from monolithic, legacy applications and infrastructure towards a distributed business application infrastructure. However, with such a vast amount of distributed resources available on a network (e.g., the Internet), it becomes a forbidden endurance to just manage a fractional number of these resources that may be undergoing constantly updates and changes. There thus has been a tremendous need for mechanisms to determine what resources are needed and manage these selected resources dynamically and intelligently.
Nevertheless, there are considerably complexities to utilize the distributed resources over a network, such as the Internet. Globally or even in a region or community, the computational capability as a whole is enormous and even grows daily, the resources actually available to a given task are limited, largely due to poor or nearly non-existent management of the resources. Essentially, the resources are sporadically distributed on a network and may be remotely located with each other. Peer-to-peer (or P2P) networking may be an exemplary mechanism to facilitate the use of the distributed resources, though the most mature application areas of the P2P technology are file sharing and instant messaging. Among other ongoing efforts to use the distributed resources, dynamic replications of the distributed resources or static links of the distributed resources in a centralized location are quite common. However, these approaches have been proved inefficient and are incapable of putting up with the dynamic changes of the resources across the network. For many applications, such as IT infrastructure monitoring across an enterprise and collaborative software developments, all distributed resources must be dynamically used and synchronized without impacting others on the network. There thus is a need for solutions or means that facilitate the efficient and better use of the distributed resources.
Management of enterprise web application environments is an example that currently requires extensive resources. The ever increasing complexity inherent in multi-tier architectures of web applications presents a forbidden task to make changes to any of the environments. Often the small change to a local environment can cause rippling effects on the entire enterprise web application environments. As an enterprise, for example, extends its service reach to improve business processes and consolidate to lower operating expenses, the number of application components increases, the application infrastructure can become very complex and the task of managing changes in such environment becomes even more difficult. It is desirous to have tools that can provide visualization of the infrastructure to facilitate the management of the application components.
While it has been known that the next generation of software products will encompass web services, mobile devices, smart agents, desktops and servers, collaborating seamlessly across a network. Developing products like this magnitude and complexity will require a sophisticated setup environment for each different stage. There are at least three collective stages; development, quality control and production. Currently, each stage is provided with its own setup, a development setup, a quality control setup and a production setup. As a result, collaborations, communications and efficiency are limited among the stages, resulting in a prolonged delay in actual deployment, frustrations to the customer, and increased support burden associated with deploying a value-added business solution.
Largely, installing and configuring a particular setup for a software product that depends upon other system components, such as a database and a remote resource, can be difficult and time consuming. A person who designs a setup for one stage may not have the skills or knowledge required to complete the setups for other stages, thus often resulting in separate and different setups for all stages involved in producing the software product. There is thus a need for a collaborative setup or environment that can facilitate the needs in all stages.